package com.ruoyi.finance.livestreaming.service;


import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.finance.livestreaming.entity.RewardWithVO;

import java.math.BigDecimal;

public interface FiDigitalLivestreamingUserService {


    /**
     * 数字直播-钱包余额提现
     * @param userId
     * @param paymentPassword
     * @param amount
     * @return
     */
    AjaxResult balanceWithdrawal(String userId, String paymentPassword, BigDecimal amount, String remark);

    /**
     * 数字直播-礼物打赏
     * @param userId
     * @param rewardedUser
     * @param giftId
     * @param price
     * @param count
     * @return
     */
    AjaxResult rewardWithGifts(Long userId, Long rewardedUser, Long giftId, BigDecimal price, BigDecimal count);

    /**
     * 可打赏礼物查询
     * @return
     */
    AjaxResult getSzGift();

    /**
     * 查询主播列表 （已开通直播的用户）
     * @return
     */
    AjaxResult getSzanchor();

    /*
    数字直播-vip变更记录查询
     */
    AjaxResult vipUpgradeRecord(Long userId);

    /**
     * 数字直播-修改用户VIP等级
     * @param userId
     * @param vipId
     * @return
     */
    AjaxResult updateUserVip(Long userId, Long vipId);

    /**
     * 数字直播-抵扣金额变化记录查询
     * @param userId
     * @return
     */
    AjaxResult deductionAmountRecord(Long userId);

    /**
     * 数字直播-抵扣金额还款
     * @param userId
     * @param amount
     * @return
     */
    AjaxResult updateDeduction(String userId, BigDecimal amount);

    /**
     * 新数字直播-礼物打赏
     * @param vo
     * @return
     */
    AjaxResult innerRewardWithGifts(RewardWithVO vo) throws Exception;
}
